home *** CD-ROM | disk | FTP | other *** search
/ Network PC / Network PC.iso / amiga utilities / communication / bbs / termv4.6 / extras / source / gtlayout-source.lha / LTP_Delay.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-03-18  |  905 b   |  45 lines

  1. /*
  2. **    GadTools layout toolkit
  3. **
  4. **    Copyright © 1993-1996 by Olaf `Olsen' Barthel
  5. **        Freely distributable.
  6. **
  7. **    :ts=4
  8. */
  9.  
  10. #ifndef _GTLAYOUT_GLOBAL_H
  11. #include "gtlayout_global.h"
  12. #endif
  13.  
  14. VOID
  15. LTP_Delay(ULONG Seconds,ULONG Micros)
  16. {
  17.     struct MsgPort __aligned        TimePort;
  18.     struct timerequest __aligned    TimeRequest;
  19.  
  20.     memset(&TimePort,0,sizeof(TimePort));
  21.  
  22.     NewList(&TimePort.mp_MsgList);
  23.  
  24.     TimePort.mp_Flags    = PA_SIGNAL;
  25.     TimePort.mp_SigBit    = SIGB_SINGLE;
  26.     TimePort.mp_SigTask    = FindTask(NULL);
  27.  
  28.     memset(&TimeRequest,0,sizeof(TimeRequest));
  29.  
  30.     TimeRequest.tr_node.io_Message.mn_ReplyPort = &TimePort;
  31.  
  32.     if(!OpenDevice(TIMERNAME,UNIT_VBLANK,&TimeRequest,NULL))
  33.     {
  34.         TimeRequest.tr_node.io_Command    = TR_ADDREQUEST;
  35.         TimeRequest.tr_time.tv_secs     = Seconds;
  36.         TimeRequest.tr_time.tv_micro    = Micros;
  37.  
  38.         SetSignal(0,SIGF_SINGLE);
  39.         SendIO(&TimeRequest);
  40.         WaitIO(&TimeRequest);
  41.  
  42.         CloseDevice(&TimeRequest);
  43.     }
  44. }
  45.